package com.axxc.cloud.service;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.axxc.cloud.pojo.ScBaseHotSearchKeyword;
import com.axxc.cloud.pojo.ScBaseHotSearchKeywordExample;

public interface IScBaseHotSearchKeywordService {

	/**
	 * 根据条件统计
	 * 
	 * @param example
	 * @return
	 */
	int countByExample(ScBaseHotSearchKeywordExample example);

	/**
	 * 根据条件删除
	 * 
	 * @param example
	 * @return
	 */
	int deleteByExample(ScBaseHotSearchKeywordExample example);

	/**
	 * 根据搜索类型或关键词插入数据或修改 若没有该条记录,新增一条 若有该条记录,搜索计数加1
	 * 
	 * @param serarchType
	 * @param keyword
	 * @return
	 */
	Long saveOrUpdateEntity(Integer searchType, String keyword);

	/**
	 * 根据条件查询实体数据,可分页
	 * <p>
	 * page,页码,从0开始,<0默认为0
	 * <p>
	 * row,每页条数,<0默认为10
	 * 
	 * @param example
	 * @return
	 */
	List<ScBaseHotSearchKeyword> selectByExample(ScBaseHotSearchKeywordExample example);

	/**
	 * 根据主键查询实体数据
	 * 
	 * @param id
	 * @return
	 */
	ScBaseHotSearchKeyword selectByPrimaryKey(Long id);

	/**
	 * 根据条件修改实体数据
	 * 
	 * @param record
	 * @return
	 */
	int updateByPrimaryKeySelective(ScBaseHotSearchKeyword record);

	/**
	 * 根据主键查询实体某个字段属性
	 * 
	 * @param id
	 * @return
	 */
	ScBaseHotSearchKeyword selectPropertiesByField(String propertyName, Object value);

	/**
	 * 根据主键查询实体数据
	 * 
	 * @param id
	 * @return
	 */
	String selectPropertiesByPrimaryKey(Long id, Integer type);

}
